#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件    :Admin.py
@说明    :
@时间    :2024/08/05 19:42:06
@作者    :深情不改必坠死海
@解释器    :python 3.7
'''

from core import src
from interface import admin_interface

"""
管理员视图层
"""


def add_user():
    is_admin = input('是否添加管理员(y or n):').strip().lower()
    if is_admin == 'y':
        src.register(True)
    else:
        src.register()


def lock_suer():
    while True:
        lock_username = input("\n请输入要冻结的用户名: ").strip()
        is_lock = input('按任意键确认/n退出: ').strip().lower()
        if is_lock == 'n':
            break
        if src.logged_user == lock_username:
            print('\n管理员不能冻结自己! ')
            continue
        flag, msg = admin_interface.lock_admin_interface(lock_username)
        print(msg)
        if flag:
            break


def recharge_to_user():
    while True:
        username = input('请输入要充值的用户名: ').strip()
        re_username = input('请再次输入要充值的用户名: ').strip()
        is_rec = input('按任意键确认/n退出: ').strip().lower()
        if is_rec == 'n':
            break
        if username != re_username:
            print('\n两次输入的用户名不一致! ')
            continue
        src.recharge(username)


func_dic = {
    '0': ('返回首页',),
    '1': ('添加账户', add_user),
    '2': ('冻结账户', lock_suer),
    '3': ('给用户充值', recharge_to_user)
}


def main():
    while True:
        print("管理员功能".center(20, '='))
        for num in func_dic:
            print(f'{num} {func_dic.get(num)[0]}'.center(20, ' '))
        print("我也是有底线的".center(20, '='))
        opt = input('请输入功能编号:').strip()
        if opt not in func_dic:
            print('此功能不存在！')
            continue
        if opt == '0':
            break
        func_dic.get(opt)[1]()
